// /**
//  * 获取元素路径
//  * @param {*} element
//  * @returns
//  */
// function getElementDomPath(element) {
//   if (!element || !element.nodeType) {
//     return null
//   }

//   var path = []
//   while (element && element.nodeType === Node.ELEMENT_NODE) {
//     var selector = element.nodeName.toLowerCase()
//     if (element.id) {
//       selector += `#${element.id}`
//     } else if (element.className) {
//       selector += `.${element.className.split(' ').join('.')}`
//     }

//     // 添加子节点的文本内容
//     var childText = ''
//     for (let child of element.childNodes) {
//       if (child.nodeType === Node.TEXT_NODE) {
//         childText += child.nodeValue.trim()
//       }
//     }
//     if (childText) {
//       selector += `: "${childText}"`
//     }

//     path.unshift(selector) // 将选择器添加到路径的开头
//     element = element.parentNode
//   }
//   return path.join(' > ')
// }

/**
 * 查找最近的带有埋点属性的元素
 * @param {*} element
 * @param {*} type
 * @returns
 */
export function findTrackNode(element, type) {
  while (element && element !== document.body) {
    if (element.hasAttribute(`data-track-${type}`)) {
      return element
    }
    element = element.parentElement
  }
  return null
}

/**
 * 获取动态参数
 * @param {*} element
 * @returns
 */
export function getDynamicParams(dataset) {
  const params = {}

  // 获取 data-track-params 属性指定的参数
  const trackParams = dataset['trackParams']

  if (trackParams) {
    trackParams.split(',').forEach(param => {
      const [key, selector] = param.split(':').map(s => s.trim())

      if (key && selector) {
        params[key] = selector
      }
    })
  }

  return params
}

/**
 * 获取前端性能监控数据
 */
export function getPerformanceInfo() {
  // #ifdef MP-TOUTIAO
  // 文档：
  // 方法：https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/foundation/performance/tt-performance-get-current-page-entries
  // 属性释义：https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/foundation/performance/performance-entry
  // if (tt?.performance?.getCurrentPageEntries) {
  //   const entries = tt.performance.getCurrentPageEntries()
  //   let appClick = null
  //   let largestContentfulPaint = null
  //   console.log(322222222222, entries)
  //   // const domContentLoaded = performance.timing.domContentLoadedEventStart - performance.timing.navigationStart
  //   // const load = performance.timing.loadEventStart - performance.timing.navigationStart
  //   // return {
  //   //   dom_content_load: domContentLoaded,
  //   //   resource_load: load,
  //   //   page_load: load
  //   // }
  // }
  // #endif
}
